<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        const orders = [
  {
    id: 1,
    name: 'John Smith',
    address: '123 Main St',
    status: 'created',
    log: [
      {
        status: 'created',
        time: '2023-02-16 12:30:00'
      }
    ]
  },
  {
    id: 2,
    name: 'Jane Doe',
    address: '456 Second St',
    status: 'packed',
    log: [
      {
        status: 'created',
        time: '2023-02-16 10:00:00'
      },
      {
        status: 'packed',
        time: '2023-02-16 12:30:00'
      }
    ]
  },
  {
    id: 3,
    name: 'Bob Johnson',
    address: '789 Third St',
    status: 'shipped',
    log: [
      {
        status: 'created',
        time: '2023-02-15 10:00:00'
      },
      {
        status: 'packed',
        time: '2023-02-15 12:00:00'
      },
      {
        status: 'shipped',
        time: '2023-02-16 9:00:00'
      }
    ]
  }
];
// console.log(orders[1].log.length);
// 1. **getOrdersByStatus(status: string)**: 该函数接受一个参数**status**，返回一个包含所有状态为**status**的订单的数组。其中，订单的每个对象应该包含以下属性：

// - **id**
// - **name**
// - **address**
// - **status**
// - **log**: 只包含状态为**status**的日志对象 并且按照订单的**id**从小到大排序。
const getOrdersByStatus = function(s){

 const arr=JSON.parse(JSON.stringify(orders)).filter(item=>{
  if(item.status===s){
    item.log=item.log.find(item=>item.status===s)
    return item
  }
})
  console.log(arr);
}

getOrdersByStatus('shipped')
// 1. **getOrderStatusHistory(id: number)**: 该函数接受一个参数**id**，返回一个字符串，表示编号为**id**的订单的状态历史记录。该字符串应该按照状态更新时间从旧到新排序，并以如下格式返回：

//    ```js
//    [time] status
//    [time] status
//    ...
   
//    ```

//    其中，**time**为格式为**YYYY-MM-DD HH:mm:ss**的时间字符串，**status**为订单状态。

const getOrderStatusHistory=function(x){
   const arr =JSON.parse(JSON.stringify(orders)).find(item=>item.id===x).log.map(item=>{
    return `[${item.time}] ${item.status}`
   })
  console.log( arr.join('\n'));
  }
getOrderStatusHistory(3)
// getOrderStatusHistory(3)
// getOrderStatusHistory(1)
// getOrderStatusHistory(2)
    </script>
</body>
</html>